const express=require('express')
const app=express()
const router=require('./src/Router/index.js')
var bodyParser = require('body-parser')
const cookieParser = require('cookie-parser');
// 导入验证规则模块
const joi = require('joi')
//  解析 application/x-www-form-urlencoded响应头
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json()); // 解析json数据格式
app.use(bodyParser.urlencoded({extended: true})); // 解析form表单提交的数据application/x-www-form-urlencoded
// 全局注册
app.use(router)
// 使用cookie模块
app.use(cookieParser());
// 封装一个res.send()的方法
app.use((req, res, next) => {
  // status默认值为1，表示失败
  res.cc = function (err, status = 1) {
    res.send({
      status,
      message: err instanceof Error ? err.message : err
    })
  }
  next()
})
// 定义错误级别中间件
app.use((err, req, res, next) => {
  // 判断验证失败导致的错误
  if (err instanceof joi.ValidationError) {
    res.send({
      message:err
    })
  }
  // 未知的错误
  res.send({
    message:'错误'
  })
})


app.listen(80,()=>{
  console.log('服务器已启动http://127.0.0.1')
})